Database Tutorials Redis এ Data Persistence এর ধারণা গাইড ও নোট

478

রেডিসে ডেটা পার্সিস্টেন্স (Data Persistence) এর ধারণা হল যে, রেডিস মূলত একটি ইন-মেমরি ডেটাবেস, অর্থাৎ ডেটা RAM-এ সংরক্ষিত থাকে। তবে, রেডিস ডেটার স্থায়িত্ব নিশ্চিত করতে পার্সিস্টেন্স প্রযুক্তি প্রদান করে, যাতে রেডিস সার্ভার রিস্টার্ট বা সিস্টেম ক্র্যাশের পরও ডেটা হারিয়ে না যায়। রেডিসে পার্সিস্টেন্স নিশ্চিত করার জন্য দুটি প্রধান পদ্ধতি রয়েছে: RDB (Redis Database Backup) এবং AOF (Append Only File)


1. RDB (Redis Database Backup)

RDB একটি স্ন্যাপশট (snapshot) তৈরি করার পদ্ধতি, যা একটি নির্দিষ্ট সময় অন্তর রেডিস ডেটাবেসের পুরো কনটেন্ট (যেমন key-value pairs) ডিস্কে সেভ করে। এই পদ্ধতিতে ডেটার কোনো পরিবর্তন হলে বা নির্দিষ্ট সময় পরে ডেটা ব্যাকআপ হয়ে যায়। RDB কনফিগারেশনটি সাধারণত একটি নির্দিষ্ট সময় পর পর স্ন্যাপশট তৈরির জন্য সেট করা হয়।

RDB-এর বৈশিষ্ট্য:

  • ডেটার স্ন্যাপশট: RDB ডেটার একটি স্থির কপি (snapshot) তৈরি করে।
  • ফাস্ট পারফরম্যান্স: এটি দ্রুত কাজ করে, কারণ এটি ডিস্কে স্ন্যাপশট তৈরি করতে পারে নির্দিষ্ট সময় পর পর।
  • কম পারফরম্যান্সের প্রভাব: স্ন্যাপশট তৈরি করার সময় পারফরম্যান্সে কিছুটা প্রভাব পড়তে পারে।

RDB কনফিগারেশন:

RDB পার্সিস্টেন্সের জন্য redis.conf ফাইলে save নির্দেশিকা ব্যবহার করা হয়। এটি ডিফাইন করে কখন স্ন্যাপশট তৈরি হবে। উদাহরণস্বরূপ:

save 900 1    # 900 সেকেন্ড (15 মিনিট) পর 1টি রাইট অপারেশন হলে স্ন্যাপশট
save 300 10   # 300 সেকেন্ড (5 মিনিট) পর 10টি রাইট অপারেশন হলে স্ন্যাপশট

RDB এর সুবিধা:

  • কোনো ইনফ্রাস্ট্রাকচার লোড বাড়ায় না: কারণ এটি ডেটার স্ন্যাপশট হিসেবে ব্যাকআপ রাখে, তাই কম পরিমাণে ডিস্ক স্পেস নেয়।
  • রিস্টোর করা সহজ: এটি দ্রুত ব্যাকআপ তৈরি করে এবং সহজে রিস্টোর করা যায়।

2. AOF (Append Only File)

AOF একটি পার্সিস্টেন্স পদ্ধতি যেখানে রেডিস সমস্ত লেখার অপারেশন (write operations) ডিস্কে একটি লোগ ফাইলে রেকর্ড করে রাখে। প্রতিটি write অপারেশন একটি লাইন হিসেবে এফাইলের শেষে যুক্ত হয়। এটি ইনক্রিমেন্টাল ব্যাকআপের মত কাজ করে।

AOF-এর বৈশিষ্ট্য:

  • সম্পূর্ণ লোগিং: AOF ফাইল প্রতিটি লেখার অপারেশন ডিস্কে রেকর্ড করে রাখে, তাই কোনো একটি নির্দিষ্ট পয়েন্টে ফিরে গিয়ে সমস্ত লেখার অপারেশন পুনরুদ্ধার করা সম্ভব।
  • ডেটার পুরো ইতিহাস: AOF ডেটার ইতিহাস সংরক্ষণ করে, এবং এটি সর্বদা সর্বশেষ পরিবর্তন দেখতে দেয়।

AOF কনফিগারেশন:

AOF সক্রিয় করতে, redis.conf ফাইলে নিচের কনফিগারেশন সেট করতে হবে:

appendonly yes     # AOF সক্রিয় করা
appendfsync everysec  # প্রতি সেকেন্ডে AOF ফাইল সিঙ্ক করা

AOF এর সুবিধা:

  • এফিসিয়েন্ট রিকভারি: AOF সিস্টেমে যদি কিছু ডেটা হারিয়ে যায়, তবে সিস্টেমটি সেকেন্ডের মধ্যে পুনরুদ্ধার করতে পারে।
  • নির্ভুলতা: AOF প্রতি লেখার অপারেশন হিসাব করে সেভ করে, তাই এই পদ্ধতিটি খুবই নির্ভুল।

3. RDB এবং AOF একসাথে ব্যবহার করা

রেডিসে RDB এবং AOF একসাথে ব্যবহার করা সম্ভব। এই পদ্ধতিতে, আপনি দুটি পার্সিস্টেন্স মেকানিজমের সুবিধা নিতে পারেন—একটি দ্রুত ব্যাকআপ (RDB) এবং একটি সঠিক পুনরুদ্ধারের জন্য ইনক্রিমেন্টাল লগ (AOF)। আপনি যখন উভয় পদ্ধতি ব্যবহার করবেন, তখন রেডিস প্রতি সেকেন্ডে AOF সিঙ্ক করতে এবং নির্দিষ্ট সময় পর পর RDB স্ন্যাপশট নিতে পারবে।

RDB এবং AOF একসাথে কনফিগারেশন:

appendonly yes      # AOF সক্রিয় করা
appendfsync everysec  # প্রতি সেকেন্ডে AOF ফাইল সিঙ্ক করা
save 900 1          # 15 মিনিট পর 1টি রাইট অপারেশন হলে স্ন্যাপশট

এভাবে উভয় পদ্ধতি সক্রিয় করা হলে, রেডিস ডেটা রিস্টোর করতে AOF থেকে রিকভারি করবে এবং যদি AOF ফাইলটি ক্ষতিগ্রস্ত হয়, তাহলে RDB স্ন্যাপশটটি থেকে রিকভারি করা যাবে।


4. RDB বনাম AOF

  • RDB:
    • দ্রুত পারফরম্যান্স।
    • কম ডিস্ক স্পেস নেয়।
    • পুনরুদ্ধার কিছুটা সময়সাপেক্ষ।
    • স্ন্যাপশট তৈরি নির্দিষ্ট সময় পর পর।
  • AOF:
    • রিয়েল-টাইম রাইট অপারেশন লগিং।
    • বড় ডিস্ক স্পেস নিতে পারে, কারণ প্রতিটি অপারেশন সংরক্ষিত হয়।
    • পুনরুদ্ধার দ্রুত এবং নির্ভুল।
    • পুনরুদ্ধারের সময় বেশি হতে পারে যদি AOF ফাইল বড় হয়।

সারাংশ

রেডিসে ডেটা পার্সিস্টেন্স দুটি প্রধান পদ্ধতিতে করা হয়: RDB এবং AOF। RDB একটি নির্দিষ্ট সময় পর পর স্ন্যাপশট তৈরি করে এবং AOF প্রতিটি write অপারেশন লগ করে রাখে। আপনি RDB এবং AOF উভয় পদ্ধতি একসাথে ব্যবহার করতে পারেন, যাতে উভয় পদ্ধতির সুবিধা পাওয়া যায়—দ্রুত ব্যাকআপ এবং নির্ভুল রিকভারি।

Content added By
Promotion

Are you sure to start over?

Loading...